// 上面这个代码处理过度动画（默认加上不用管）
document.addEventListener('DOMContentLoaded', () => {
  setTimeout(() => {
    // document.body.classList.add('sidenav-pinned')
    document.body.classList.add('ready')
  }, 200)
})

// 路由的权限校验
function permissionCheck() {
  // 获取访问的url地址
  const url = location.pathname
  // 获取token
  const token = sessionStorage.getItem('student-token')
  // 注册和登录不需要token校验
  if (url !== '/login.html' && url !== '/register.html') {
    if (!token) {
      message('请先登录', 'error')
      redirect('/login.html')
      return
    }
  }
}
// 调用
permissionCheck()





/**
 * Toast提示框
 * @param {String} message 提示信息 
 * @param {String} type 提示类型，只能是success或者error
 */
function message(message, type = 'success') {
  // 创建提示信息的dom结构
  const messageText = $(`<div class="position-fixed top-0 start-50 pt-4" style="z-index: 1100; transform: translateX(-50%)">
   <div id="myToast" class="toast bg-rgba ${type==='success' ? 'bg-success' : 'bg-warning'}">
     <div class="toast-body">${message}</div>
   </div>
 </div>`)
  // 追加到body中
  $('body').append(messageText)
  // 使用bootstrap的Toast提示
  const toast = new bootstrap.Toast($('#myToast')[0], {
    animation: true, // 开启过渡动画
    autohide: true, // 开启自动隐藏
    delay: type === 'success' ? 1000 : 3000 // 3000ms后自动隐藏
  })
  toast.show()
  // 当提示信息框隐藏时，删除掉原来的dom结构，下次再使用时，重新创建
  $('#myToast')[0].addEventListener('hidden.bs.toast', () => {
    messageText.remove()
  })
}

/**
 * 跳转
 * @param {String} url 要跳转的url地址
 */
function redirect(url) {
  setTimeout(() => {
    location.href = url
  }, 2000)
}